সি++ এ অপারেটর এবং এক্সপ্রেশনগুলি প্রোগ্রামিংয়ের মৌলিক অংশ, যা ডেটার উপর বিভিন্ন কার্যক্রম সম্পাদন করে। অপারেটর হলো একটি চিহ্ন বা সিম্বল যা একটি বা একাধিক অপার্যান্ডের সাথে কাজ করে এবং একটি নতুন মান প্রদান করে। এক্সপ্রেশন হলো অপারেটর এবং অপার্যান্ডগুলোর সংমিশ্রণ, যা একটি নতুন মান তৈরি করে।
সি++ এ বিভিন্ন ধরনের অপারেটর রয়েছে। নিচে প্রধান অপারেটরগুলোর বিস্তারিত আলোচনা করা হলো:
এই অপারেটরগুলি গাণিতিক গণনা করতে ব্যবহৃত হয়:
+
: যোগ (Addition)-
: বিয়োগ (Subtraction)*
: গুণ (Multiplication)/
: ভাগ (Division)%
: মডুলাস (Modulus)উদাহরণ:
int a = 10;
int b = 3;
int sum = a + b; // 13
int difference = a - b; // 7
int product = a * b; // 30
int quotient = a / b; // 3
int remainder = a % b; // 1
এই অপারেটরগুলি তুলনা করতে ব্যবহৃত হয়:
==
: সমান (Equal)!=
: সমান নয় (Not Equal)>
: বড় (Greater Than)<
: ছোট (Less Than)>=
: বড় বা সমান (Greater Than or Equal)<=
: ছোট বা সমান (Less Than or Equal)উদাহরণ:
if (a > b) {
std::cout << "a is greater than b";
}
এই অপারেটরগুলি লজিক্যাল তুলনা করতে ব্যবহৃত হয়:
&&
: লজিক্যাল AND (Logical AND)||
: লজিক্যাল OR (Logical OR)!
: লজিক্যাল NOT (Logical NOT)উদাহরণ:
if (a > b && a > 5) {
std::cout << "a is greater than b and greater than 5";
}
এই অপারেটরগুলি বিট স্তরে কাজ করে:
&
: বিটওয়াইজ AND|
: বিটওয়াইজ OR^
: বিটওয়াইজ XOR~
: বিটওয়াইজ NOT<<
: বিট শিফট (Left Shift)>>
: বিট শিফট (Right Shift)উদাহরণ:
int x = 5; // 0101 in binary
int y = 3; // 0011 in binary
int result = x & y; // 0001 in binary (1 in decimal)
এই অপারেটরগুলি একটি ভ্যারিয়েবলে মান সেট করতে ব্যবহৃত হয়:
=
: অ্যাসাইনমেন্ট+=
: অ্যাড এবং অ্যাসাইন-=
: সাবট্রাক্ট এবং অ্যাসাইন*=
: গুণ এবং অ্যাসাইন/=
: ভাগ এবং অ্যাসাইন%=
: মডুলাস এবং অ্যাসাইনউদাহরণ:
int num = 5;
num += 3; // num is now 8
++
: ইনক্রিমেন্ট (মান 1 বাড়ানো)--
: ডেক্রিমেন্ট (মান 1 কমানো)উদাহরণ:
int count = 0;
count++; // count is now 1
count--; // count is now 0
এক্সপ্রেশন হলো অপারেটর এবং অপার্যান্ডগুলির সমন্বয়, যা একটি নতুন মান তৈরি করে। এটি সাধারণত একটি ভ্যালু উৎপন্ন করে। এক্সপ্রেশনগুলি হতে পারে সরল বা জটিল।
int sum = a + b; // এখানে a + b একটি সরল এক্সপ্রেশন
int result = (a + b) * (c - d) / e; // এখানে পুরো অংশটি একটি জটিল এক্সপ্রেশন
সি++ এর অপারেটর এবং এক্সপ্রেশনগুলি প্রোগ্রামিংয়ের মৌলিক ভিত্তি। অপারেটরগুলির মাধ্যমে আপনি ডেটার উপরে বিভিন্ন কার্যক্রম সম্পাদন করতে পারেন, এবং এক্সপ্রেশনগুলির মাধ্যমে সেই কার্যক্রমের ফলাফল প্রাপ্ত হয়। এই ধারণাগুলির সঠিক ব্যবহার আপনাকে আরও কার্যকরী এবং দক্ষ প্রোগ্রাম তৈরি করতে সহায়তা করবে।
অ্যারিথমেটিক অপারেটরস হলো অপারেটরগুলি যা সংখ্যা বা সংখ্যাগুলির সাথে গাণিতিক কার্যক্রম (যেমন যোগ, বিয়োগ, গুণ, ভাগ ইত্যাদি) সম্পাদন করতে ব্যবহৃত হয়। C++ এ বেশ কয়েকটি সাধারণ অ্যারিথমেটিক অপারেটর রয়েছে, এবং এগুলি বিভিন্ন ধরনের গাণিতিক অপারেশনের জন্য ব্যবহৃত হয়। নিচে C++ এ ব্যবহৃত অ্যারিথমেটিক অপারেটরগুলোর তালিকা ও উদাহরণ দেওয়া হলো:
অপারেটর | নাম | উদাহরণ | বর্ণনা |
---|---|---|---|
+ | যোগ | a + b | দুটি সংখ্যার যোগফল। |
- | বিয়োগ | a - b | প্রথম সংখ্যা থেকে দ্বিতীয় সংখ্যা বিয়োগ। |
* | গুণ | a * b | দুটি সংখ্যার গুণফল। |
/ | ভাগ | a / b | প্রথম সংখ্যা দ্বিতীয় সংখ্যায় ভাগ। |
% | মডুলাস (শেষাংশ) | a % b | প্রথম সংখ্যার দ্বিতীয় সংখ্যার ভাগফল। |
এখানে একটি উদাহরণ দেওয়া হলো যাতে বিভিন্ন অ্যারিথমেটিক অপারেটর ব্যবহৃত হয়েছে:
#include <iostream>
using namespace std;
int main() {
int a = 10;
int b = 3;
// যোগফল
int sum = a + b;
cout << "Sum: " << sum << endl; // Output: Sum: 13
// বিয়োগফল
int difference = a - b;
cout << "Difference: " << difference << endl; // Output: Difference: 7
// গুণফল
int product = a * b;
cout << "Product: " << product << endl; // Output: Product: 30
// ভাগফল
int quotient = a / b;
cout << "Quotient: " << quotient << endl; // Output: Quotient: 3 (integer division)
// মডুলাস
int remainder = a % b;
cout << "Remainder: " << remainder << endl; // Output: Remainder: 1
return 0; // প্রোগ্রাম সফলভাবে শেষ হয়েছে
}
+
): দুটি সংখ্যার যোগফল দেয়।-
): প্রথম সংখ্যার থেকে দ্বিতীয় সংখ্যাটি বিয়োগ করে।*
): দুই সংখ্যার গুণফল দেয়।/
): প্রথম সংখ্যাকে দ্বিতীয় সংখ্যায় ভাগ করে। (গণনা করার সময় যদি ভগ্নাংশ থাকে তবে এটি পূর্ণ সংখ্যা ফেরত দেয়।)%
): প্রথম সংখ্যার দ্বিতীয় সংখ্যায় ভাগফল হিসেবে অবশিষ্ট অংশ (শেষাংশ) প্রদান করে।যদি কোনো অপারেশন ফ্লোটিং পয়েন্ট সংখ্যা (যেমন float
বা double
) নিয়ে কাজ করে, তাহলে তা সঠিক ভাগফল প্রদান করবে। উদাহরণ:
#include <iostream>
using namespace std;
int main() {
double a = 10.0;
double b = 3.0;
// ভাগফল
double quotient = a / b;
cout << "Quotient: " << quotient << endl; // Output: Quotient: 3.33333
return 0; // প্রোগ্রাম সফলভাবে শেষ হয়েছে
}
ইনক্রিমেন্ট (++
): একটি ভ্যারিয়েবলের মান ১ বাড়ায়।
int x = 5;
x++; // x এর মান হবে 6
ডিক্রিমেন্ট (--
): একটি ভ্যারিয়েবলের মান ১ কমায়।
int y = 5;
y--; // y এর মান হবে 4
অ্যারিথমেটিক অপারেটরগুলি C++ প্রোগ্রামিংয়ে গাণিতিক কার্যক্রম সম্পাদনের জন্য মৌলিক উপাদান। এগুলি ব্যবহার করে প্রোগ্রামাররা বিভিন্ন গাণিতিক সমস্যার সমাধান করতে সক্ষম হন। সঠিকভাবে অ্যারিথমেটিক অপারেটরগুলি ব্যবহার করা গেলে প্রোগ্রামের ফলাফল দ্রুত ও কার্যকরভাবে পাওয়া যায়।
রিলেশনাল অপারেটরস হলো অপারেটরগুলি যা দুটি ভ্যালু বা ভ্যারিয়েবলের মধ্যে সম্পর্ক যাচাই করার জন্য ব্যবহৃত হয়। এই অপারেটরগুলি ব্যবহার করে যাচাই করা যায় দুটি ভ্যালু সমান, বড়, ছোট, বা ভিন্ন কিনা। রিলেশনাল অপারেটরগুলির ফলাফল সবসময় একটি বুলিয়ান মান প্রদান করে—true অথবা false।
অপারেটর | নাম | উদাহরণ | বর্ণনা |
---|---|---|---|
== | সমান | a == b | যদি a এবং b এর মান সমান হয়, তবে true । |
!= | সমান নয় | a != b | যদি a এবং b এর মান সমান না হয়, তবে true । |
> | বড় | a > b | যদি a এর মান b এর চেয়ে বড় হয়, তবে true । |
< | ছোট | a < b | যদি a এর মান b এর চেয়ে ছোট হয়, তবে true । |
>= | বড় অথবা সমান | a >= b | যদি a এর মান b এর চেয়ে বড় অথবা সমান হয়, তবে true । |
<= | ছোট অথবা সমান | a <= b | যদি a এর মান b এর চেয়ে ছোট অথবা সমান হয়, তবে true । |
রিলেশনাল অপারেটরগুলি সাধারণত শর্ত চেক করার জন্য ব্যবহৃত হয়, যেমন if
, while
এবং অন্যান্য কন্ডিশনাল স্টেটমেন্টে। নিচে রিলেশনাল অপারেটরের একটি উদাহরণ দেওয়া হলো:
#include <iostream>
using namespace std;
int main() {
int a = 10;
int b = 20;
// সমান কিনা চেক করা
if (a == b) {
cout << "a and b are equal." << endl;
} else {
cout << "a and b are not equal." << endl;
}
// বড় অথবা ছোট চেক করা
if (a > b) {
cout << "a is greater than b." << endl;
} else if (a < b) {
cout << "a is less than b." << endl;
}
// বড় অথবা সমান চেক করা
if (a >= b) {
cout << "a is greater than or equal to b." << endl;
} else {
cout << "a is less than b." << endl;
}
return 0;
}
==
) এবং সমান নয় (!=
):==
ব্যবহার করা হয় দুটি ভ্যালু সমান কিনা যাচাই করার জন্য।!=
ব্যবহার করা হয় দুটি ভ্যালু সমান নয় কিনা যাচাই করার জন্য।>
) এবং ছোট (<
):>
ব্যবহার করা হয় একটি ভ্যালু অন্যটির চেয়ে বড় কিনা যাচাই করার জন্য।<
ব্যবহার করা হয় একটি ভ্যালু অন্যটির চেয়ে ছোট কিনা যাচাই করার জন্য।>=
) এবং ছোট অথবা সমান (<=
):>=
ব্যবহার করা হয় একটি ভ্যালু অন্যটির চেয়ে বড় অথবা সমান কিনা যাচাই করার জন্য।<=
ব্যবহার করা হয় একটি ভ্যালু অন্যটির চেয়ে ছোট অথবা সমান কিনা যাচাই করার জন্য।রিলেশনাল অপারেটর ব্যবহার করার পর প্রোগ্রাম বুলিয়ান মান প্রদান করে, যা true (সত্য) বা false (মিথ্যা) হতে পারে। এই মানটি শর্ত হিসেবে পরবর্তী অপারেশন সম্পাদন করার জন্য ব্যবহৃত হয়।
#include <iostream>
using namespace std;
int main() {
int x = 15, y = 10;
cout << (x == y) << endl; // Output: 0 (false)
cout << (x != y) << endl; // Output: 1 (true)
cout << (x > y) << endl; // Output: 1 (true)
cout << (x < y) << endl; // Output: 0 (false)
cout << (x >= y) << endl; // Output: 1 (true)
cout << (x <= y) << endl; // Output: 0 (false)
return 0;
}
রিলেশনাল অপারেটরগুলি প্রোগ্রামিংয়ে বিভিন্ন শর্ত যাচাই করতে অত্যন্ত গুরুত্বপূর্ণ। এগুলি ব্যবহার করে ভ্যারিয়েবলের মধ্যে সম্পর্ক যাচাই করা যায়, যা প্রোগ্রামে বিভিন্ন সিদ্ধান্ত গ্রহণ এবং লজিক তৈরি করতে সহায়ক।
লজিকাল অপারেটরস হল সেই অপারেটরগুলো যা এক বা একাধিক শর্তের মধ্যে লজিক্যাল সম্পর্ক স্থাপন করতে ব্যবহৃত হয়। C++ এ লজিকাল অপারেটরগুলি সাধারণত Boolean মান (true/false) নিয়ে কাজ করে এবং শর্তযুক্ত বিবৃতিতে ব্যবহৃত হয়।
সি++ এ প্রধানত তিনটি লজিকাল অপারেটর রয়েছে:
অপারেটর | নাম | উদাহরণ | বর্ণনা |
---|---|---|---|
&& | AND | a && b | দুটি শর্তই সত্য হলে সত্য। |
|| | OR | a || b | যেকোনো একটি শর্ত সত্য হলে সত্য। |
! | NOT | !a | শর্তের বিপরীত মান প্রদান করে। |
&&
)লজিকাল AND অপারেটর (&&
) ব্যবহার করে দুটি শর্তের মধ্যে AND সম্পর্ক স্থাপন করা হয়। যখন উভয় শর্ত সত্য হয়, তখন ফলস্বরূপ সত্য হবে।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
bool a = true;
bool b = false;
if (a && b) {
cout << "Both are true." << endl; // এই লাইনটি প্রিন্ট হবে না
} else {
cout << "At least one is false." << endl; // Output: At least one is false.
}
return 0;
}
||
)লজিকাল OR অপারেটর (||
) ব্যবহার করে দুটি শর্তের মধ্যে OR সম্পর্ক স্থাপন করা হয়। যখন কমপক্ষে একটি শর্ত সত্য হয়, তখন ফলস্বরূপ সত্য হবে।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
bool a = true;
bool b = false;
if (a || b) {
cout << "At least one is true." << endl; // Output: At least one is true.
} else {
cout << "Both are false." << endl;
}
return 0;
}
!
)লজিকাল NOT অপারেটর (!
) ব্যবহার করে একটি শর্তের মানের বিপরীত প্রদান করা হয়। যদি শর্তটি সত্য হয়, তবে NOT অপারেটর এটি মিথ্যা করে এবং উল্টোভাবে।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
bool a = true;
if (!a) {
cout << "a is false." << endl; // এই লাইনটি প্রিন্ট হবে না
} else {
cout << "a is true." << endl; // Output: a is true.
}
return 0;
}
লজিকাল অপারেটরগুলি শর্তাধীন বিবৃতিতে ব্যবহৃত হয় এবং সাধারণত if
এবং while
স্টেটমেন্টের মধ্যে ব্যবহৃত হয়। নিচে একটি উদাহরণ দেয়া হলো যেখানে সব তিনটি লজিকাল অপারেটর ব্যবহৃত হয়েছে:
#include <iostream>
using namespace std;
int main() {
int age = 20;
bool hasPermission = true;
if (age >= 18 && hasPermission) {
cout << "Access granted." << endl; // Output: Access granted.
} else {
cout << "Access denied." << endl;
}
if (age < 18 || !hasPermission) {
cout << "You cannot access." << endl;
}
return 0;
}
লজিকাল অপারেটরস (AND, OR, NOT) C++ এ শর্তাবলী যাচাই করার জন্য ব্যবহৃত হয়। এগুলি একাধিক শর্তকে একত্রে যুক্ত করার এবং শর্তগুলোর সত্যতা যাচাই করার জন্য অত্যন্ত কার্যকর। সঠিকভাবে লজিকাল অপারেটর ব্যবহার করার মাধ্যমে প্রোগ্রামাররা জটিল শর্তাবলী নির্মাণ করতে পারেন, যা তাদের কোডকে আরও কার্যকরী এবং সৃজনশীল করে তোলে।
বিটওয়াইজ অপারেটরস হল সেই অপারেটরগুলো যা সরাসরি বিটের স্তরে কাজ করে। C++ এ বিটওয়াইজ অপারেটরগুলি বিভিন্ন বিট-লেভেল অপারেশনের জন্য ব্যবহৃত হয়। এগুলি সংখ্যার বাইনারি প্রতিনিধিত্বের উপর ভিত্তি করে কাজ করে এবং কম্পিউটিংয়ে খুবই গুরুত্বপূর্ণ, বিশেষ করে মেমোরি ম্যানেজমেন্ট এবং অপ্টিমাইজেশনের ক্ষেত্রে।
সি++ এ বেশ কিছু বিটওয়াইজ অপারেটর রয়েছে, যেগুলো নিচে উল্লেখ করা হলো:
অপারেটর | নাম | উদাহরণ | বর্ণনা |
---|---|---|---|
& | AND | a & b | উভয় বিট ১ হলে ১। |
| | OR | a । b | যেকোনো একটি বিট ১ হলে বিট ১ হয় |
^ | XOR | a ^ b | দুই বিট ভিন্ন হলে ১। |
~ | NOT | ~a | প্রতিটি বিট বিপরীত করে। |
<< | বিট শিফট বামে | a << 2 | বিটগুলোকে বামে সরায় এবং শূন্য পূরণ করে। |
>> | বিট শিফট ডানে | a >> 2 | বিটগুলোকে ডানে সরায় এবং শূন্য পূরণ করে। |
&
)বিটওয়াইজ AND অপারেটর প্রতিটি বিটের উপর AND অপারেশন করে। কেবলমাত্র উভয় বিট ১ হলে ফলস্বরূপ বিট ১ হয়, অন্যথায় ০ হয়।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
int a = 5; // 0101
int b = 3; // 0011
int result = a & b; // 0001 = 1
cout << "a & b: " << result << endl; // Output: a & b: 1
return 0;
}
|
)বিটওয়াইজ OR অপারেটর প্রতিটি বিটের উপর OR অপারেশন করে। যেকোনো একটি বিট ১ হলে ফলস্বরূপ বিট ১ হয়।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
int a = 5; // 0101
int b = 3; // 0011
int result = a | b; // 0111 = 7
cout << "a | b: " << result << endl; // Output: a | b: 7
return 0;
}
^
)বিটওয়াইজ XOR অপারেটর প্রতিটি বিটের উপর XOR অপারেশন করে। দুই বিট ভিন্ন হলে ফলস্বরূপ বিট ১ হয়, অন্যথায় ০ হয়।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
int a = 5; // 0101
int b = 3; // 0011
int result = a ^ b; // 0110 = 6
cout << "a ^ b: " << result << endl; // Output: a ^ b: 6
return 0;
}
~
)বিটওয়াইজ NOT অপারেটর একটি সংখ্যা বা ভ্যারিয়েবলের প্রতিটি বিট উল্টো করে। অর্থাৎ ১ কে ০ এবং ০ কে ১ করে।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
int a = 5; // 0101
int result = ~a; // 1010 (বাইনারি)
cout << "~a: " << result << endl; // Output: ~a: -6 (দুইয়ের পরিপূরক)
return 0;
}
বিঃদ্রঃ: বিটওয়াইজ NOT অপারেটরের আউটপুটে সংখ্যা নেগেটিভ হতে পারে কারণ এটি দুইয়ের পরিপূরক নোটেশনে কাজ করে।
<<
)বিট শিফট অপারেটর বামে <<
ব্যবহার করে একটি সংখ্যা নির্দিষ্ট সংখ্যক বিট বামে সরায়। প্রতিটি শিফটে ডানে শূন্য পূরণ করে।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
int a = 5; // 0101
int result = a << 1; // 1010 = 10
cout << "a << 1: " << result << endl; // Output: a << 1: 10
return 0;
}
>>
)বিট শিফট অপারেটর ডানে >>
ব্যবহার করে একটি সংখ্যা নির্দিষ্ট সংখ্যক বিট ডানে সরায়। প্রতিটি শিফটে বামে শূন্য পূরণ করে।
উদাহরণ:
#include <iostream>
using namespace std;
int main() {
int a = 5; // 0101
int result = a >> 1; // 0010 = 2
cout << "a >> 1: " << result << endl; // Output: a >> 1: 2
return 0;
}
বিটওয়াইজ অপারেটরস C++ প্রোগ্রামিংয়ে সরাসরি বিট লেভেলে কাজ করার জন্য ব্যবহৃত হয়। এগুলো মেমোরি ম্যানেজমেন্ট, কম্পিউটিং পারফরম্যান্স অপটিমাইজেশন, এবং দ্রুত গাণিতিক অপারেশনের জন্য অত্যন্ত কার্যকরী। বিটওয়াইজ অপারেটরস প্রোগ্রামারদেরকে প্রোগ্রামের আরও বেশি নিয়ন্ত্রণ এবং দক্ষতা প্রদান করে, যা জটিল সমস্যা সমাধানে সহায়ক।
অ্যাসাইনমেন্ট এবং ইনক্রিমেন্ট/ডিক্রিমেন্ট অপারেটরস C++ প্রোগ্রামিং ভাষায় ভ্যারিয়েবলগুলোর মান সেট, বৃদ্ধি, বা হ্রাস করতে ব্যবহৃত হয়। এগুলি প্রোগ্রামিংয়ের সবচেয়ে সাধারণ এবং গুরুত্বপূর্ণ অপারেটর।
অ্যাসাইনমেন্ট অপারেটরস ভ্যারিয়েবলে মান অ্যাসাইন বা সেট করতে ব্যবহৃত হয়। C++ এ বিভিন্ন ধরনের অ্যাসাইনমেন্ট অপারেটর রয়েছে।
=
)সাধারণ অ্যাসাইনমেন্ট অপারেটর =
ব্যবহার করে একটি ভ্যারিয়েবলে একটি নির্দিষ্ট মান সেট করা হয়।
int x = 5; // x এ ৫ অ্যাসাইন করা হয়েছে
অপারেটর | উদাহরণ | সমতুল্য | বর্ণনা |
---|---|---|---|
+= | x += 5; | x = x + 5; | x এর সাথে ৫ যোগ করে ফলাফলটি x এ অ্যাসাইন করে। |
-= | x -= 5; | x = x - 5; | x থেকে ৫ বিয়োগ করে ফলাফলটি x এ অ্যাসাইন করে। |
*= | x *= 5; | x = x * 5; | x এর সাথে ৫ গুণ করে ফলাফলটি x এ অ্যাসাইন করে। |
/= | x /= 5; | x = x / 5; | x কে ৫ দিয়ে ভাগ করে ফলাফলটি x এ অ্যাসাইন করে। |
%= | x %= 5; | x = x % 5; | x কে ৫ দিয়ে ভাগ করে অবশিষ্টাংশটি x এ অ্যাসাইন করে। |
#include <iostream>
using namespace std;
int main() {
int x = 10;
x += 5; // x = x + 5; এখন x এর মান 15
cout << "x += 5: " << x << endl;
x -= 3; // x = x - 3; এখন x এর মান 12
cout << "x -= 3: " << x << endl;
x *= 2; // x = x * 2; এখন x এর মান 24
cout << "x *= 2: " << x << endl;
x /= 4; // x = x / 4; এখন x এর মান 6
cout << "x /= 4: " << x << endl;
x %= 5; // x = x % 5; এখন x এর মান 1
cout << "x %= 5: " << x << endl;
return 0;
}
ইনক্রিমেন্ট এবং ডিক্রিমেন্ট অপারেটরস ভ্যারিয়েবলের মান ১ করে বাড়ানো বা কমানোর জন্য ব্যবহৃত হয়। এই অপারেটর দুটি প্রকারে বিভক্ত হয়:
++x
/ --x
)x++
/ x--
)++
)ইনক্রিমেন্ট অপারেটর একটি ভ্যারিয়েবলের মান ১ বাড়ায়।
++x
): প্রি-ইনক্রিমেন্টে, প্রথমে ভ্যারিয়েবলের মান ১ বাড়ানো হয়, তারপর সেটি ব্যবহৃত হয়।x++
): পোস্ট-ইনক্রিমেন্টে, প্রথমে ভ্যারিয়েবলের মান ব্যবহৃত হয়, তারপর সেটি ১ বাড়ানো হয়।int x = 5;
cout << ++x; // প্রি-ইনক্রিমেন্ট, প্রথমে x এর মান ৬ হবে, তারপর এটি প্রিন্ট হবে।
cout << x++; // পোস্ট-ইনক্রিমেন্ট, প্রথমে x এর মান প্রিন্ট হবে ৬, তারপর এটি ৭ হবে।
--
)ডিক্রিমেন্ট অপারেটর একটি ভ্যারিয়েবলের মান ১ কমায়।
--x
): প্রথমে ভ্যারিয়েবলের মান ১ কমানো হয়, তারপর সেটি ব্যবহৃত হয়।x--
): প্রথমে ভ্যারিয়েবলের মান ব্যবহৃত হয়, তারপর সেটি ১ কমানো হয়।int y = 5;
cout << --y; // প্রি-ডিক্রিমেন্ট, প্রথমে y এর মান ৪ হবে, তারপর এটি প্রিন্ট হবে।
cout << y--; // পোস্ট-ডিক্রিমেন্ট, প্রথমে y এর মান প্রিন্ট হবে ৪, তারপর এটি ৩ হবে।
#include <iostream>
using namespace std;
int main() {
int a = 10;
cout << "Original value of a: " << a << endl;
cout << "Pre-Increment (++a): " << ++a << endl; // প্রি-ইনক্রিমেন্ট
cout << "Post-Increment (a++): " << a++ << endl; // পোস্ট-ইনক্রিমেন্ট
cout << "Value after Post-Increment: " << a << endl;
cout << "Pre-Decrement (--a): " << --a << endl; // প্রি-ডিক্রিমেন্ট
cout << "Post-Decrement (a--): " << a-- << endl; // পোস্ট-ডিক্রিমেন্ট
cout << "Value after Post-Decrement: " << a << endl;
return 0;
}
=
, +=
, -=
, ইত্যাদি।++
) ভ্যারিয়েবলের মান ১ বাড়ায়।--
) ভ্যারিয়েবলের মান ১ কমায়।এই অপারেটরগুলো সঠিকভাবে ব্যবহার করা গেলে প্রোগ্রামে গণনা, পুনরাবৃত্তি, এবং ডেটা ম্যানিপুলেশনের কাজ সহজ এবং কার্যকরী হয়।
common.read_more